package com.shop.cloud.domain.hongfu;

import java.sql.Timestamp;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.shop.cloud.common.mybatis.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * balance_history-
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler",
		"fieldHandler" }, ignoreUnknown = true)
public class BalanceHistory extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 用户id号
	 */
	@ApiModelProperty(value = "用户id号")
	private Long userId;
	/**
	 * 类型 1：充值 2：购买鸿福商品 3：购买积分商品 4：购买旅游商品 5：积分赠送 6：注册赠送 7：每日签到 8：系统赠送 9：系统扣除
	 * 10：邀请好友 11：分销提成 12：报名活动
	 */
	@ApiModelProperty(value = "类型 1：充值 2：购买鸿福商品 3：购买积分商品 4：购买旅游商品 5：积分赠送 6：注册赠送 7：每日签到 8：系统赠送 9：系统扣除 10：邀请好友 11：分销提成 12：报名活动 13：积分系统赠送 14：积分系统扣除 ")
	private Integer type;
	/**
	 * 余额 当type1，2，4，8，9，11，12时有效
	 */
	@ApiModelProperty(value = "余额 当type1，2，4，8，9，11，12时有效")
	private Float amount;
	/**
	 * 积分 当type为3，5，6，7，8，9，10时有效
	 */
	@ApiModelProperty(value = "积分 当type为3，5，6，7，13，14，10时有效")
	private Integer credits;
	/**
	 * 充值方式 1: 支付宝2：微信 当type为1时有效
	 */
	@ApiModelProperty(value = "充值方式  1: 支付宝 2：微信当type为1时有效")
	private Integer accountType;
	/**
	 * 对应的订单编号 当type＝2，3，4时有效
	 */
	@ApiModelProperty(value = "对应的订单编号 当type＝2，3，4时有效")
	private String orderNo;
	/**
	 * 活动id 当type＝12时有效
	 */
	@ApiModelProperty(value = "活动id 当type＝12时有效")
	private Long activityId;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Timestamp createTime;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注")
	private String remark;

	@ApiModelProperty(value = "后台权限。1:全部，2：门店")
	private int authority;

	public BalanceHistory() {

	}

	public int getAuthority() {
		return authority;
	}

	public void setAuthority(int authority) {
		this.authority = authority;
	}

	public Long getUserId() {
		return this.userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Integer getType() {
		return this.type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Float getAmount() {
		return this.amount;
	}

	public void setAmount(Float amount) {
		this.amount = amount;
	}

	public Integer getCredits() {
		return this.credits;
	}

	public void setCredits(Integer credits) {
		this.credits = credits;
	}

	public Integer getAccountType() {
		return this.accountType;
	}

	public void setAccountType(Integer accountType) {
		this.accountType = accountType;
	}

	public String getOrderNo() {
		return this.orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public Long getActivityId() {
		return this.activityId;
	}

	public void setActivityId(Long activityId) {
		this.activityId = activityId;
	}

	public Timestamp getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	public String getRemark() {
		return this.remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

}